#ifndef JEU_H
#define JEU_H
#include "score.h"
#include "joueur.h"
#include "disposition.h"
#include "contrat.h"

/**
    @brief jeu.h est le module qui rassemble la plupart des autres modules pour que le jeu puise tourner
*/

typedef struct
{
	Dispo ter;
	Joueur jo[4];
	Contrat co;
	Score sc;
	int avancement;
	Carte pli[4];
}Jeu;

/**
    @brief Initialise le jeu
    @param [in,out] je
    @return none
*/
void jeInit(Jeu *je);

/**
    @brief libère le jeu
    @param [in,out] je
    @return none
*/
void jeLibere(Jeu * je);

/**
    @brief récupère la disposition du terrain sur le jeu
    @param [in,out] je
    @return dispo
*/
Dispo *jeGet_Terrain_Ptr(Jeu * je);

/**
    @brief récupère la disposition du terrain sur le jeu en constante
    @param [in,out] je
    @return dispo
*/
const Dispo *jeGet_Const_Terrain_Ptr(const Jeu * je);

/**
    @brief remet le pli a 0
    @param [in,out] pli
    @return none
*/
void jeReset_Pli(Carte* pli);

#endif

